Expo হল একটি জনপ্রিয় ফ্রেমওয়ার্ক যা React Native অ্যাপ্লিকেশন তৈরির প্রক্রিয়াকে অনেক সহজ এবং দ্রুত করে তোলে। Expo Managed Workflow এমন একটি স্টাইল যা আপনাকে Expo প্ল্যাটফর্মের বিভিন্ন সুবিধা ব্যবহার করতে দেয়, যেমন বিশেষ নেটিভ কোড লেখার প্রয়োজন না হওয়া এবং অনেক গুরুত্বপূর্ণ টুলস এবং লাইব্রেরি সরাসরি অন্তর্ভুক্ত থাকে। Managed Workflow ব্যবহার করে অ্যাপ বিল্ড করার প্রক্রিয়া আরও সহজ এবং পরিচালনাযোগ্য হয়।
এখানে Expo Managed Workflow ব্যবহার করে একটি React Native অ্যাপ্লিকেশন বিল্ড করার পূর্ণ প্রক্রিয়া দেওয়া হচ্ছে।
১. Expo প্রোজেক্ট তৈরি করা
প্রথমে, আপনার একটি নতুন Expo প্রোজেক্ট তৈরি করতে হবে। যদি আপনার কাছে Expo CLI ইনস্টল না থাকে, তবে প্রথমে এটি ইনস্টল করুন:
npm install -g expo-cliএরপর একটি নতুন Expo প্রোজেক্ট তৈরি করুন:
expo init MyNewAppএটি আপনাকে বিভিন্ন টেমপ্লেট অপশন দিবে (যেমন blank বা tabs), যেগুলোর মধ্যে থেকে আপনার পছন্দের টেমপ্লেটটি সিলেক্ট করুন। একবার প্রোজেক্ট তৈরি হয়ে গেলে, প্রোজেক্ট ফোল্ডারে চলে যান:
cd MyNewApp২. ডিপেনডেন্সি ইনস্টলেশন এবং কনফিগারেশন
একটি Expo প্রোজেক্ট তৈরি করার পর, কিছু ডিপেনডেন্সি ইনস্টল করতে হতে পারে, যেমন ইমেজ বা নেটওয়ার্ক লাইব্রেরি। সাধারণত Expo Managed Workflow অনেক প্রয়োজনীয় লাইব্রেরি অন্তর্ভুক্ত করে, তবে যদি অতিরিক্ত কিছু দরকার হয়, তখন তা expo install দিয়ে ইনস্টল করতে হবে।
expo install react-navigation react-navigation-stackআপনি যদি কোনো নতুন লাইব্রেরি যুক্ত করতে চান, তাহলে অবশ্যই Expo Managed Workflow এর মধ্যে থাকা লাইব্রেরিগুলোর সাথে সঙ্গতিপূর্ণ কিনা তা চেক করবেন। Expo এর অফিসিয়াল ডকুমেন্টেশনে সম্পূর্ণ লাইব্রেরির তালিকা পাওয়া যাবে।
৩. অ্যাপ কনফিগারেশন
app.json ফাইলটি হল Expo অ্যাপ্লিকেশনের কনফিগারেশন ফাইল। এখানে আপনি অ্যাপের নাম, আইকন, স্ক্রিন অরিয়েন্টেশন, এবং অন্যান্য সেটিংস কনফিগার করতে পারেন।
উদাহরণস্বরূপ, app.json ফাইলের কিছু সাধারণ কনফিগারেশন:
{
"expo": {
"name": "MyNewApp",
"slug": "my-new-app",
"version": "1.0.0",
"orientation": "portrait",
"icon": "./assets/icon.png",
"splash": {
"image": "./assets/splash.png",
"resizeMode": "contain",
"backgroundColor": "#ffffff"
},
"platforms": ["ios", "android"],
"ios": {
"bundleIdentifier": "com.mycompany.mynewapp",
"buildNumber": "1"
},
"android": {
"package": "com.mycompany.mynewapp",
"versionCode": 1
}
}
}এখানে:
name: অ্যাপের নাম।slug: অ্যাপের স্লাগ (যে নাম দিয়ে অ্যাপটি ডেভেলপ করা হয়েছে)।icon: অ্যাপের আইকন ফাইল।splash: অ্যাপের স্ল্যাশ স্ক্রীন কনফিগারেশন।
৪. অ্যাপের প্রি-ভিউ এবং ডেভেলপমেন্ট মোডে রান
Expo অ্যাপটি ডেভেলপমেন্ট মোডে চালানোর জন্য Expo Go অ্যাপ্লিকেশনটি ব্যবহার করা হয়। Expo Go ইনস্টল করার পর, আপনাকে QR কোড স্ক্যান করে আপনার অ্যাপ দেখতে হবে।
প্রোজেক্টের রুট ডিরেক্টরি থেকে:
expo startএটি আপনার ব্রাউজারে Expo Dev Tools খুলবে, এবং সেখানে আপনার অ্যাপের একটি QR কোড প্রদর্শিত হবে। সেই কোড স্ক্যান করার মাধ্যমে, আপনি আপনার মোবাইল ডিভাইসে অ্যাপ দেখতে এবং ডিবাগ করতে পারবেন।
৫. অ্যাপ বিল্ডিং (Build)
Expo Managed Workflow ব্যবহার করে অ্যাপটি বিল্ড করার জন্য, Expo এর বিল্ড সার্ভিস ব্যবহার করতে হবে। এখানে আমরা iOS এবং Android এর জন্য অ্যাপ বিল্ড করার প্রক্রিয়া দেখবো।
iOS Build:
Expo অ্যাপ্লিকেশনকে iOS এর জন্য বিল্ড করতে আপনাকে expo build:ios কমান্ডটি ব্যবহার করতে হবে।
expo build:iosএটি আপনাকে একটি Apple Developer অ্যাকাউন্টের জন্য লগইন করতে বলবে। একবার লগইন হয়ে গেলে, এটি আপনাকে অ্যাপের IPA ফাইল তৈরি করবে, যা আপনি App Store তে আপলোড করতে পারবেন।
Android Build:
Android অ্যাপ বিল্ড করার জন্য, expo build:android কমান্ড ব্যবহার করুন:
expo build:androidএটি আপনাকে একটি APK বা AAB (Android App Bundle) ফাইল তৈরি করবে, যা আপনি Google Play Store তে আপলোড করতে পারবেন।
৬. Expo Managed Workflow এর সীমাবদ্ধতা
Expo Managed Workflow অনেক সহজ এবং দ্রুত ডেভেলপমেন্ট সরবরাহ করে, তবে এর কিছু সীমাবদ্ধতা রয়েছে:
- নেটিভ কোড কাস্টমাইজেশন: Expo Managed Workflow আপনাকে নেটিভ কোড (Objective-C, Java, বা Swift) পরিবর্তন করার অনুমতি দেয় না। যদি আপনার অ্যাপের জন্য বিশেষভাবে কাস্টম নেটিভ কোড প্রয়োজন হয়, তাহলে আপনাকে Bare Workflow ব্যবহার করতে হতে পারে।
- লাইব্রেরি সমর্থন: কিছু লাইব্রেরি, যা সম্পূর্ণ নেটিভ কোড ব্যবহার করে, Expo Managed Workflow এ কাজ নাও করতে পারে। আপনি সেগুলি Bare Workflow-এ ব্যবহার করতে পারবেন।
সারাংশ
Expo Managed Workflow দিয়ে অ্যাপ বিল্ড করা খুবই সহজ এবং দ্রুত। এটি আপনার অ্যাপের ডেভেলপমেন্ট প্রক্রিয়াকে সহজ করে দেয়, কারণ আপনি নেটিভ কোড না লিখেও সবকিছু করতে পারবেন। একবার প্রোজেক্ট তৈরি করার পর, আপনি Expo Go ব্যবহার করে অ্যাপের প্রি-ভিউ দেখতে পারেন এবং তারপর Expo এর বিল্ড সার্ভিস ব্যবহার করে iOS এবং Android প্ল্যাটফর্মের জন্য অ্যাপ তৈরি করতে পারেন।
Expo Managed Workflow এর সাদৃশ্য এবং সুবিধা অ্যাপ ডেভেলপমেন্টের ক্ষেত্রে অনেক বড় সুবিধা প্রদান করে, তবে এটি কিছু বিশেষ কাস্টমাইজেশন বা লাইব্রেরি ব্যবহারে সীমাবদ্ধ থাকতে পারে।
Read more